﻿using System.Collections.Generic;
using Netkk.Common.Models;

namespace Netkk.Library.Repositories
{
    /// <summary>
    /// Represents a repository to receive and send messages with the Twitter API.
    /// </summary>
    public interface ITwitterRepository
    {
        /// <summary>
        /// Gets the timeline from a specific user.
        /// </summary>
        /// <param name="count">The count, how much statuse to receive.</param>
        /// <returns>An IEnumerable of <see cref="Tweet" /> objects.</returns>
        IEnumerable<Tweet> GetUserTimeLine(int count);

        /// <summary>
        /// Gets the formatted timeline from a specifit user.
        /// </summary>

        /// <param name="count">The count, how much statuse to receive.</param>
        /// <returns>An IEnumerable of string objects.</returns>
        IEnumerable<string> GetFormattedUserTimeLine(int count);

        /// <summary>
        /// Updates the twitter status from a given user.
        /// </summary>
        /// <param name="status">The new status.</param>
        void UpdateStatus(string status);
    }
}